FIG. 1 shows the layers of a typical processing system 1. The application program 9 runs on the operating system 10. All of the commands of the operating system 10 that go to the devices 4 must go through the virtual resource manager 8 which includes the device drivers 13. In order for a processing system 1 to communicate to other remote processing systems or other devices 2, the processing system must have an architecture 5 that defines the information flow through the network system. A typical network architecture 5 comprises a total description of the logical structure, formats, protocols, and operational sequences for transmitting information through the communication system.
A typical network architecture 5 is called Systems Network Architecture (SNA). Systems Network Architecture (SNA) is a specification that formally defines the functional responsibilities for components of a data communications system, and specifies how those components must interact. In an SNA structure, all nodes, or linked elements follow these definitions.
Systems Network Architecture has two components that control the operation of the local node in the network. One is the physical unit 7, the other is the logical unit 6. Each one of these components has a special assigned function in the network. Also, each of these components can be separately addressed by other members of the network.
The physical unit 7 controls the physical resources of the node. Physical resources include the data links 14 that connect the node to the network, storage, and input/output devices 4. All nodes in the network must have a physical unit.
The logical unit 6 provides the interface to the network for the end user. It provides protocols that allow end users to communicate with each other and with other components in the network. A logical unit (LU) is classified according to the protocol that it implements. For example, the SNA protocol consists of unique environments for LU types 1,2,3, and 6.2.
Logical Units 1, 2, and 3 (LU1, LU2, LU3) communicate with a host in a primary-to-secondary relationship. The host computer, as the primary node, controls the data interchange between the two nodes. Specifically, the LU 1 protocol manages the input/output devices associated with the logical unit such as printers, card readers, storage devices, and operator consoles. The LU 2 protocol describes the protocol of an IBM 3270 data terminal connected to the host. It provides keyboard input and display output. The LU 3 protocol describes the protocol of a printer connected to the host. It provides printed output. The LU 6.2 protocol provides advanced program to program communications (APPC) for communications between two programs on a peer-to-peer basis instead of in a primary-to-secondary relationship. More information about this protocol is found in IBM International Systems Centers An Introduction To Advanced Program-To-Program Communication (APPC) #GG24-1584-0, July 1983 which is herein incorporated by reference.
A link session describes the physical hardware and supporting programs that allow a system to attach to a particular communications link 14. The link session includes the remote node 2, but only describes the physical environment of the nodes. For example, a link session may be an adapter for hardware 4, cabling, and Synchronous Data Link Control (SDLC) software that enables a system to attach to a SDLC network.
An SNA session defines the network path that links two logical units 6 in different nodes together to enable them to establish communications. An SNA session includes network addressing, the name of the remote program, and other descriptive information.
A conversation is a pathway between two application programs that allows them to transfer information to each other. Two types of SNA conversations are a basic conversation and a mapped conversation.
A basic conversation is a connection between two transaction programs that allows them to exchange logical records. This conversation type is used by service transaction programs and LU1, 2, and 3 application transaction programs.
A mapped conversation is a connection between two transaction programs that allows them to exchange data records of any length and in any format specified by the transaction programs. This conversation type is used for LU 6.2 conversations only and is used primarily for application transaction programs.
An application program interface (API) 3 is a mechanism by which a communications application program 9 acquires use of the network protocol 5. The application program interface 3 is typically quite complex and contains details of the network protocol. In order to write extremely efficient application programs that provide high level networking services to a general class of user, the programmer requires direct interaction with, and intimate knowledge of the network protocols. Furthermore, if the network protocols change, the application program must be rewritten to adjust to the changes.
Deficient in the above is an interface to an application program for accessing networking functions. With the invention of this application is provided an application program interface which translates routines requesting networking functions to the operating system commands which in turn contain facilities for accessing networking functions. The interface further externalizes the operating system commands for use by the application program in accessing networking functions.